const SwapWnB =  {
  swap: function (base64,callback) {
    // 获取原始Base64图像并创建Canvas元素
    var canvas = document.createElement('canvas');

    // 在Canvas上绘制原始图像
    var img = new Image();
    img.crossOrigin = ''
    img.onload=function(){
      canvas.width = img.width;
      canvas.height = img.height;
      var ctx = canvas.getContext("2d");
      ctx.drawImage(img, 0, 0, img.width, img.height);
  
      // 读取Canvas中的像素信息
      //console.log(ctx)
      var imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
      var data = imageData.data;
  
      // 遍历每个像素点，将RGB值互相交换得到黑白反色效果
      for (var i = 0; i < data.length; i += 4) {
          /*var r = data[i];     // Red channel value
          var g = data[i+1];   // Green channel value
          var b = data[i+2];   // Blue channel value
  
          // 计算新的RGBA值（黑白反色）
          var grayscaleValue = Math.round((r * 38 + g * 75 + b * 15) / 255);
          data[i] = grayscaleValue;      // R channel value
          data[i+1] = grayscaleValue;    // G channel value
          data[i+2] = grayscaleValue;    // B channel value*/
          /*if(i % 4000 == 0){
            console.log(data[i],data[i+1],data[i+2])
          }*/
          data[i]=255 - data[i]
          data[i+1]=255 - data[i+1]
          data[i+2]=255 - data[i+2]
      }
  
      // 更新Canvas中的像素信息
      ctx.putImageData(imageData, 0, 0);
  
      // 从Canvas生成新的Base64图像
      var invertedBase64 = canvas.toDataURL("image/jpeg", 1.0); // 这里也需根据实际情况修改MIME类型及其他参数
      //console.log(invertedBase64);
      callback(invertedBase64)
    }
    img.src = base64; // 这里需根据实际情况修改MIME类型
  }
}
export default SwapWnB